home *** CD-ROM | disk | FTP | other *** search
/ Graphics Plus / Graphics Plus.iso / general / procssng / ccs / ccs-11tl.lha / lbl / xview / guidexv / gfm_ui.c < prev    next >
Encoding:
C/C++ Source or Header  |  1992-07-14  |  5.7 KB  |  274 lines

  1. /*
  2.  * gfm_ui.c - User interface object initialization functions.
  3.  * This file was generated by `gxv' from `gfm.G'.
  4.  * DO NOT EDIT BY HAND.
  5.  */
  6.  
  7. #include <stdio.h>
  8. #include <sys/param.h>
  9. #include <sys/types.h>
  10. #include <xview/xview.h>
  11. #include <xview/canvas.h>
  12. #include <xview/panel.h>
  13. #include <xview/scrollbar.h>
  14. #include <xview/svrimage.h>
  15. #include <xview/termsw.h>
  16. #include <xview/text.h>
  17. #include <xview/tty.h>
  18. #include <xview/xv_xrect.h>
  19. #include <group.h>
  20. #include "gfm_ui.h"
  21.  
  22. /*
  23.  * Initialize an instance of object `popup'.
  24.  */
  25. gfm_popup_objects *
  26. gfm_popup_objects_initialize(ip, owner)
  27.     gfm_popup_objects    *ip;
  28.     Xv_opaque    owner;
  29. {
  30.     if (!ip && !(ip = (gfm_popup_objects *) calloc(1, sizeof (gfm_popup_objects))))
  31.         return (gfm_popup_objects *) NULL;
  32.     if (!ip->popup)
  33.         ip->popup = gfm_popup_popup_create(ip, owner);
  34.     if (!ip->controls)
  35.         ip->controls = gfm_popup_controls_create(ip, ip->popup);
  36.     if (!ip->directory)
  37.         ip->directory = gfm_popup_directory_create(ip, ip->controls);
  38.     if (!ip->list)
  39.         ip->list = gfm_popup_list_create(ip, ip->controls);
  40.     if (!ip->file)
  41.         ip->file = gfm_popup_file_create(ip, ip->controls);
  42.     if (!ip->file_list_group)
  43.         ip->file_list_group = gfm_popup_file_list_group_create(ip, ip->controls);
  44.     if (!ip->load)
  45.         ip->load = gfm_popup_load_create(ip, ip->controls);
  46.     if (!ip->props_group)
  47.         ip->props_group = gfm_popup_props_group_create(ip, ip->controls);
  48.     window_fit(ip->controls);
  49.     
  50.     window_fit(ip->popup);
  51.     
  52.     xv_set(ip->controls,
  53.         XV_WIDTH, WIN_EXTEND_TO_EDGE,
  54.         XV_HEIGHT, WIN_EXTEND_TO_EDGE,
  55.         NULL);
  56.     return ip;
  57. }
  58.  
  59. /*
  60.  * Create object `popup' in the specified instance.
  61.  */
  62. Xv_opaque
  63. gfm_popup_popup_create(ip, owner)
  64.     gfm_popup_objects    *ip;
  65.     Xv_opaque    owner;
  66. {
  67.     extern Notify_value    gfm_resize();
  68.     Xv_opaque    obj;
  69.     
  70.     obj = xv_create(owner, FRAME_CMD,
  71.         XV_KEY_DATA, INSTANCE, ip,
  72.         XV_WIDTH, 313,
  73.         XV_HEIGHT, 306,
  74.         XV_LABEL, "File Chooser",
  75.         FRAME_SHOW_FOOTER, TRUE,
  76.         FRAME_SHOW_RESIZE_CORNER, TRUE,
  77.         FRAME_CMD_PUSHPIN_IN, FALSE,
  78.         NULL);
  79.     xv_set(obj, WIN_CONSUME_EVENTS,
  80.         WIN_MOUSE_BUTTONS,
  81.         LOC_MOVE,
  82.         LOC_DRAG,
  83.         LOC_WINENTER,
  84.         LOC_WINEXIT,
  85.         WIN_ASCII_EVENTS,
  86.         WIN_LEFT_KEYS,
  87.         WIN_RIGHT_KEYS,
  88.         WIN_TOP_KEYS,
  89.         NULL, NULL);
  90.     notify_interpose_event_func(obj,
  91.         (Notify_func) gfm_resize, NOTIFY_SAFE);
  92.     xv_set(xv_get(obj, FRAME_CMD_PANEL), WIN_SHOW, FALSE, NULL);
  93.     return obj;
  94. }
  95.  
  96. /*
  97.  * Create object `controls' in the specified instance.
  98.  */
  99. Xv_opaque
  100. gfm_popup_controls_create(ip, owner)
  101.     gfm_popup_objects    *ip;
  102.     Xv_opaque    owner;
  103. {
  104.     Xv_opaque    obj;
  105.     
  106.     obj = xv_create(owner, PANEL,
  107.         XV_KEY_DATA, INSTANCE, ip,
  108.         XV_HELP_DATA, "gfm:controls",
  109.         XV_X, 0,
  110.         XV_Y, 0,
  111.         XV_WIDTH, WIN_EXTEND_TO_EDGE,
  112.         XV_HEIGHT, WIN_EXTEND_TO_EDGE,
  113.         WIN_BORDER, FALSE,
  114.         NULL);
  115.     return obj;
  116. }
  117.  
  118. /*
  119.  * Create object `directory' in the specified instance.
  120.  */
  121. Xv_opaque
  122. gfm_popup_directory_create(ip, owner)
  123.     gfm_popup_objects    *ip;
  124.     Xv_opaque    owner;
  125. {
  126.     Xv_opaque    obj;
  127.     
  128.     obj = xv_create(owner, PANEL_TEXT,
  129.         XV_KEY_DATA, INSTANCE, ip,
  130.         XV_HELP_DATA, "gfm:directory",
  131.         XV_X, 10,
  132.         XV_Y, 10,
  133.         PANEL_VALUE_DISPLAY_LENGTH, 28,
  134.         PANEL_VALUE_STORED_LENGTH, 1024,
  135.         PANEL_LABEL_STRING, "Directory:",
  136.         PANEL_LAYOUT, PANEL_HORIZONTAL,
  137.         PANEL_VALUE_UNDERLINED, FALSE,
  138.         PANEL_READ_ONLY, TRUE,
  139.         NULL);
  140.     return obj;
  141. }
  142.  
  143. /*
  144.  * Create object `list' in the specified instance.
  145.  */
  146. Xv_opaque
  147. gfm_popup_list_create(ip, owner)
  148.     gfm_popup_objects    *ip;
  149.     Xv_opaque    owner;
  150. {
  151.     extern int        gfm_list_proc();
  152.     Xv_opaque    obj;
  153.     
  154.     obj = xv_create(owner, PANEL_LIST,
  155.         XV_KEY_DATA, INSTANCE, ip,
  156.         XV_HELP_DATA, "gfm:list",
  157.         XV_X, 10,
  158.         XV_Y, 35,
  159.         PANEL_LIST_WIDTH, 275,
  160.         PANEL_LIST_DISPLAY_ROWS, 10,
  161.         PANEL_LAYOUT, PANEL_HORIZONTAL,
  162.         PANEL_READ_ONLY, TRUE,
  163.         PANEL_CHOOSE_ONE, TRUE,
  164.         PANEL_CHOOSE_NONE, FALSE,
  165.         PANEL_NOTIFY_PROC, gfm_list_proc,
  166.         NULL);
  167.     return obj;
  168. }
  169.  
  170. /*
  171.  * Create object `file' in the specified instance.
  172.  */
  173. Xv_opaque
  174. gfm_popup_file_create(ip, owner)
  175.     gfm_popup_objects    *ip;
  176.     Xv_opaque    owner;
  177. {
  178.     extern Panel_setting    gfm_file_notify();
  179.     Xv_opaque    obj;
  180.     
  181.     obj = xv_create(owner, PANEL_TEXT,
  182.         XV_KEY_DATA, INSTANCE, ip,
  183.         XV_HELP_DATA, "gfm:file",
  184.         XV_X, 10,
  185.         XV_Y, 245,
  186.         PANEL_VALUE_DISPLAY_LENGTH, 30,
  187.         PANEL_VALUE_STORED_LENGTH, 1024,
  188.         PANEL_LABEL_STRING, "Name:",
  189.         PANEL_LAYOUT, PANEL_HORIZONTAL,
  190.         PANEL_READ_ONLY, FALSE,
  191.         PANEL_NOTIFY_PROC, gfm_file_notify,
  192.         NULL);
  193.     return obj;
  194. }
  195.  
  196. /*
  197.  * Create object `file_list_group' in the specified instance.
  198.  */
  199. Xv_opaque
  200. gfm_popup_file_list_group_create(ip, owner)
  201.     gfm_popup_objects    *ip;
  202.     Xv_opaque    owner;
  203. {
  204.     Xv_opaque    obj;
  205.     
  206.     obj = xv_create(owner, GROUP,
  207.         XV_KEY_DATA, INSTANCE, ip,
  208.         XV_X, 10,
  209.         XV_Y, 10,
  210.         GROUP_TYPE, GROUP_COLUMN,
  211.         GROUP_MEMBERS,
  212.             ip->directory,
  213.             ip->list,
  214.             ip->file,
  215.             NULL,
  216.         GROUP_COLUMN_ALIGNMENT, GROUP_LEFT_EDGES,
  217.         GROUP_VERTICAL_SPACING, 10,
  218.         NULL);
  219.     return obj;
  220. }
  221.  
  222. /*
  223.  * Create object `load' in the specified instance.
  224.  */
  225. Xv_opaque
  226. gfm_popup_load_create(ip, owner)
  227.     gfm_popup_objects    *ip;
  228.     Xv_opaque    owner;
  229. {
  230.     extern void        gfm_open();
  231.     Xv_opaque    obj;
  232.     
  233.     obj = xv_create(owner, PANEL_BUTTON,
  234.         XV_KEY_DATA, INSTANCE, ip,
  235.         XV_HELP_DATA, "gfm:load",
  236.         XV_X, 136,
  237.         XV_Y, 280,
  238.         PANEL_LABEL_STRING, "Load",
  239.         PANEL_NOTIFY_PROC, gfm_open,
  240.         NULL);
  241.     return obj;
  242. }
  243.  
  244. /*
  245.  * Create object `props_group' in the specified instance.
  246.  */
  247. Xv_opaque
  248. gfm_popup_props_group_create(ip, owner)
  249.     gfm_popup_objects    *ip;
  250.     Xv_opaque    owner;
  251. {
  252.     Xv_opaque    obj;
  253.     
  254.     obj = xv_create(owner, GROUP,
  255.         XV_KEY_DATA, INSTANCE, ip,
  256.         XV_X, 10,
  257.         XV_Y, 10,
  258.         GROUP_TYPE, GROUP_COLUMN,
  259.         GROUP_MEMBERS,
  260.             ip->file_list_group,
  261.             ip->load,
  262.             NULL,
  263.         GROUP_COLUMN_ALIGNMENT, GROUP_VERTICAL_CENTERS,
  264.         GROUP_VERTICAL_SPACING, 20,
  265.         GROUP_ANCHOR_OBJ, ip->controls,
  266.         GROUP_ANCHOR_POINT, GROUP_NORTHWEST,
  267.         GROUP_REFERENCE_POINT, GROUP_NORTHWEST,
  268.         GROUP_HORIZONTAL_OFFSET, 10,
  269.         GROUP_VERTICAL_OFFSET, 10,
  270.         NULL);
  271.     return obj;
  272. }
  273.  
  274.